The virtual explosion of technological advances in microelectronics, digital computers, and software has changed the face of modern society. In fact, these technological advances have become so important and pervasive that some people refer to this explosion as the "Information Revolution." Through telephone lines, networks, satellite communications and the like, information is routinely generated, transmitted, received and processed.
Particularly in computer networks, but also in stand alone systems, a variety of different services are shared and accessed. Typically, each service has its own namespace which is generally incapable of integrating with the namespaces of other services. A namespace is a collection of names in a computing environment. Sometimes, each of the various names in a namespace are referred to as objects. For instance, a file system will have its own namespace with objects corresponding to the administer information and resources across the network has its own namespace with objects corresponding to the various identies in the management service. Likewise, namespaces can vary between two services that provide the same function. For instance, two different management services will typically have two different namespaces.
Due in part to the potentially broad range of services with disparate namespaces, it is desirable to have centralized user interface to interact with many different namespaces. Traditionally, to interact and view a namespace a user was required to implement a user interface designed specifically for the service associated with the namespace. For instance, if a user wanted to interact with the namespace for a database, the user had to run the user interface associated with that database. Likewise, if a user wanted to see the files and directories of a file system, the user had to run a user interface associated with the file system.
One attempt to provide a centralized user interface for disparate namespaces is the JAVA Naming and Directory Interface ("JNDI"). JNDI is an application programming interface ("API") that allows one namespace to know about another namespace. Using a mechanism in JNDI called a Federation, one can store a junction in a first namespace of how to reach an entry point into a second namespace. The problem with a Federation, however, is that both the namespaces are required to know intimately about each other. In other words, programmers are required to develop code such that each namespace can interact specifically within the other namespace. As one with ordinary skill in the art will readily appreciate, the requirements to establish a Federation is undesirable due to the need to develop the requisite intimate knowledge between the two namespaces.
Another attempt to integrate disparate namespaces is the WINDOWS 95 EXPLORER. The EXPLORER program is dedicated to viewing and modifying a file system. Additional namespaces can be displayed within EXPLORER through tailored dynamic link libraries ("DLL's"), with each DLL being associated with a particular file type. However, EXPLORER is dedicated to a file system namespace, and its extensions are likewise limited only to file types. As such, EXPLORER is ill suited for namespaces not associated with file systems.
Therefore, there is a need for a method and apparatus for aggregating disparate namespaces, independent of the type of namespaces, wherein each namespace does not require intimate knowledge of the other namespaces.